using System;
using RayDen.Library.Entity.Frames;

namespace RayDen.Library.Entity.Interface {
    public interface IRenderConfig {
        string SavePath { get; }
        string FrameName { get; }
        int Width { get; }
        int Height { get; }
        void SaveImage(string fn);
        void SaveRawImage(string fn);
        void OpenFrame(FrameDescription frameDescription);
        void Start();
        void Interrupt();
        void ConsumeJob(IRenderJob job, Action<IRenderJobResult> resultCallback);

        string GetStats();
        void Dispose();
        void RunCommand(int index);

        IImagePlaneComponent GetImagePlane();
    }


    public interface IStatisticsProvider
    {
        string GetStats();
    }
   
}